home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Gamer Resource Kit / Hardcore Gamer Resource Kit - Disc 3.iso / screensavers / saver25.zip / SOURCE.ZIP / Saverwnd.cpp < prev    next >
C/C++ Source or Header  |  1997-07-25  |  3KB  |  135 lines

  1. // saverwnd.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "Saver.h"
  6. #include "drawwnd.h"
  7. #include "saverwnd.h"
  8.  
  9. #ifdef _DEBUG
  10. #undef THIS_FILE
  11. static char BASED_CODE THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CSaverWnd
  16.  
  17. CSaverWnd::CSaverWnd()
  18. {
  19.     m_ptLast = CPoint(-1, -1);
  20. }
  21.  
  22. CSaverWnd::~CSaverWnd()
  23. {
  24. }
  25.  
  26.  
  27. BEGIN_MESSAGE_MAP(CSaverWnd, CDrawWnd)
  28.     //{{AFX_MSG_MAP(CSaverWnd)
  29.     ON_WM_SYSCOMMAND()
  30.     ON_WM_DESTROY()
  31.     ON_WM_SETCURSOR()
  32.     ON_WM_NCACTIVATE()
  33.     ON_WM_ACTIVATE()
  34.     ON_WM_ACTIVATEAPP()
  35.     ON_WM_MOUSEMOVE()
  36.     ON_WM_LBUTTONDOWN()
  37.     ON_WM_MBUTTONDOWN()
  38.     ON_WM_RBUTTONDOWN()
  39.     ON_WM_KEYDOWN()
  40.     ON_WM_SYSKEYDOWN()
  41.     //}}AFX_MSG_MAP
  42. END_MESSAGE_MAP()
  43.  
  44.  
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CSaverWnd message handlers
  47.  
  48. BOOL CSaverWnd::Create() 
  49. {
  50.     CRect rect(0, 0, ::GetSystemMetrics(SM_CXSCREEN),
  51.         ::GetSystemMetrics(SM_CYSCREEN));
  52.  
  53.     return CDrawWnd::Create(WS_EX_TOPMOST, WS_VISIBLE|WS_POPUP, rect, NULL, 
  54.         0, NULL);
  55. }
  56.  
  57. void CSaverWnd::OnSysCommand(UINT nID, LPARAM lParam) 
  58. {
  59.     if ((nID == SC_SCREENSAVE) || (nID == SC_CLOSE))
  60.         return;
  61.     CDrawWnd::OnSysCommand(nID, lParam);
  62. }
  63.  
  64. void CSaverWnd::OnDestroy() 
  65. {
  66.     PostQuitMessage(0);
  67.     CDrawWnd::OnDestroy();
  68. }
  69.  
  70. BOOL CSaverWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
  71. {
  72.     SetCursor(NULL);
  73.     return TRUE;
  74. }
  75.  
  76. BOOL CSaverWnd::OnNcActivate(BOOL bActive) 
  77. {
  78.     if (!bActive)
  79.         return FALSE;
  80.     return CDrawWnd::OnNcActivate(bActive);
  81. }
  82.  
  83. void CSaverWnd::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) 
  84. {
  85.     if (nState == WA_INACTIVE)
  86.         PostMessage(WM_CLOSE);
  87.     CDrawWnd::OnActivate(nState, pWndOther, bMinimized);
  88. }
  89.  
  90. void CSaverWnd::OnActivateApp(BOOL bActive, HTASK hTask) 
  91. {
  92.     if (!bActive)
  93.         PostMessage(WM_CLOSE);
  94.     CDrawWnd::OnActivateApp(bActive, hTask);
  95. }
  96.  
  97. void CSaverWnd::OnMouseMove(UINT nFlags, CPoint point) 
  98. {
  99.     if (m_ptLast == CPoint(-1,-1))
  100.         m_ptLast = point;
  101.     else if (m_ptLast != point)
  102.         PostMessage(WM_CLOSE);
  103.     CDrawWnd::OnMouseMove(nFlags, point);
  104. }
  105.  
  106. void CSaverWnd::OnLButtonDown(UINT nFlags, CPoint point) 
  107. {
  108.     PostMessage(WM_CLOSE);
  109.     CDrawWnd::OnLButtonDown(nFlags, point);
  110. }
  111.  
  112. void CSaverWnd::OnMButtonDown(UINT nFlags, CPoint point) 
  113. {
  114.     PostMessage(WM_CLOSE);
  115.     CDrawWnd::OnMButtonDown(nFlags, point);
  116. }
  117.  
  118. void CSaverWnd::OnRButtonDown(UINT nFlags, CPoint point) 
  119. {
  120.     PostMessage(WM_CLOSE);
  121.     CDrawWnd::OnRButtonDown(nFlags, point);
  122. }
  123.  
  124. void CSaverWnd::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
  125. {
  126.     PostMessage(WM_CLOSE);
  127.     CDrawWnd::OnKeyDown(nChar, nRepCnt, nFlags);
  128. }
  129.  
  130. void CSaverWnd::OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
  131. {
  132.     PostMessage(WM_CLOSE);
  133.     CDrawWnd::OnSysKeyDown(nChar, nRepCnt, nFlags);
  134. }
  135.